Waveform generators typically require control circuitry to regulate specific points of a predetermined waveform with respect to time. For example, the peak value of a triangular waveform provided by a triangle waveform generator may vary significantly with respect to time. A typical triangle waveform generator provides a triangular output signal by integrating switched input current sources of opposite polarity. Waveform errors from such circuits commonly result from wide variations in the accuracy of the current sources which are used. To correct the variation in output waveforms, others have used precision difference amplifiers to precisely measure the value of a predetermined point of the waveform at differing points in time. If the difference in waveform values is not zero, the waveform is corrected so that the difference value at two different points in time becomes zero. Others have implemented precision difference amplifiers with switched capacitor structures which can sample and hold a waveform at two different points in time. However, known switched capacitor precision difference amplifiers have the disadvantage of having parasitic errors which adversely affect the accuracy of the amplifier.